package locacao.negocio.bo;

import java.sql.Connection;
import java.sql.Date;

import locacao.integracao.dao.RentACarPST;
import locacao.negocio.to.LocacaoTO;
import locacao.negocio.to.RentACarTO;


public class LocacaoBO {
	
	private RentACarTO rentACarTO;
	private RentACarPST rentACarPST;
	

	public LocacaoBO() {
		rentACarTO = new RentACarTO();
		rentACarPST = new RentACarPST();
	}

	public void addLocacao(Integer idLocacao, Date dataRetirada, Date dataDevolucao,
			String observacao, Integer idCliente, Integer idFuncionario){
		try {
			LocacaoTO locacao = rentACarTO.getLocacao(idLocacao, dataRetirada, dataDevolucao, observacao, idCliente, idFuncionario);
			rentACarPST.addOrUpdateLocacao(locacao);
		} catch (Exception e) {
			System.out.println("Log Erro: " + e.getMessage());
		}
	}

	
	public void updateLocacao(Integer idLocacao, Date dataRetirada, Date dataDevolucao,
			String observacao, Integer idCliente, Integer idFuncionario){
   
		try {
			LocacaoTO locacao = rentACarTO.getLocacao(idLocacao, dataRetirada, dataDevolucao, observacao, idCliente, idFuncionario);
			rentACarPST.addOrUpdateLocacao(locacao);
		} catch (Exception e) {
			System.out.println("Log Erro: " + e.getMessage());
		}	
	}
	
	public void excludeLocacao(int idLocacao){
		try {
			LocacaoTO locacao = rentACarTO.getLocacao(idLocacao);
			rentACarPST.excludeLocacao(locacao);	
		} catch (Exception e) {
			System.out.println("Log Erro: " + e.getMessage());
		}
	}
	
	
    public String[] getInfoLocacao(){
    	return rentACarPST.getInfoLocacao();

    }

    
    public String[] getPesquisaLocacaos(Integer id){
    	try {
    		return rentACarPST.findLocacaoById(id);
	    } catch (Exception e) {
			System.out.println("Log Erro: " + e.getMessage());
			return null;
		}
    }
    

    public Connection gerarRelatorioLocacaos(){
    	return rentACarPST.getInstance().getConn().getConnection();
    }
	
}
